import 'dart:ui';

import 'package:get/get.dart';
import 'package:jinke/utils/component/dialog/drop.dart';

import 'index.dart';

class FilterViewController extends GetxController {
  FilterViewController();

  final state = FilterViewState();

  void actionFilter(int index) async {
    var mod = state.list[index];
    if (mod.values.isEmpty && mod.emptyOnTap != null) {
      mod.values = await mod.emptyOnTap!(index);
    }
    showDropDown(
      key: state.filterKey,
      list: mod.values
          .asMap()
          .map((e, value) => MapEntry(
                e,
                UsuallyModel(name: value, isSelected: mod.selectedIndex == e),
              ))
          .values
          .toList(),
      onTap: mod.onTap,
    );
  }

  /// 在 widget 内存中分配后立即调用。
  @override
  void onInit() {
    super.onInit();
  }

  /// 在 onInit() 之后调用 1 帧。这是进入的理想场所
  @override
  void onReady() {
    super.onReady();
  }

  /// 在 [onDelete] 方法之前调用。
  @override
  void onClose() {
    super.onClose();
  }

  /// dispose 释放内存
  @override
  void dispose() {
    super.dispose();
  }
}
